package org.wukongcrm.domain.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.wukongcrm.domain.entity.Menu;

import java.util.List;

/**
 * @author ZhongWang
 * @since 2025 03 07:10:02
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MenuVo {

    /**
     * 编号
     */
    @TableId(value = "menu_no", type = IdType.INPUT)
    private Integer menuNo;

    /**
     * 路由名称
     */
    @TableField(value = "`menu_name`")
    private String menuName;

    /**
     * 中文名称
     */
    @TableField(value = "menu_zh_name")
    private String menuZhName;

    /**
     * 路由路径
     */
    @TableField(value = "`route_path`")
    private String routePath;

    /**
     * 组件
     */
    @TableField(value = "component")
    private String component;


    /**
     * 权限标识
     */
    @TableField(value = "perm")
    private String perm;

    /**
     * 请求路径
     */
    @TableField(value = "perm_url")
    private String permUrl;

    /**
     * 类型(F代表功能，M代表菜单)
     */
    @TableField(value = "`menu_type`")
    private String menuType;

    /**
     * 父级编号
     */
    @TableField(value = "parent_id")
    private Integer parentId;

    /**
     * 父级名称
     */
    @TableField(value = "parent_name")
    private String parentName;

    /**
     * 菜单图标
     */
    @TableField(value = "menu_icon")
    private String menuIcon;

    @TableField(exist = false)
    private List<Menu> children;

}
